package config;

import xtgl.Department;
import xtgl.Login;
import xtgl.Logincontroller;
import xtgl.User;
import xtgl.UserController;
import xtgl.Role;
import model.Act;

import com.jfinal.config.Constants;
import com.jfinal.config.Handlers;
import com.jfinal.config.Interceptors;
import com.jfinal.config.JFinalConfig;
import com.jfinal.config.Plugins;
import com.jfinal.config.Routes;
import com.jfinal.ext.interceptor.SessionInViewInterceptor;
import com.jfinal.plugin.activerecord.ActiveRecordPlugin;
import com.jfinal.plugin.c3p0.C3p0Plugin;
import controller.ActController;
import controller.TestController;

public class MainConfig extends JFinalConfig {

	@Override
	public void configConstant(Constants arg0) {
		loadPropertyFile("dbConfig.txt");
		arg0.setDevMode(getPropertyToBoolean("devMode"));
		
	}

	@Override
	public void configHandler(Handlers arg0) {
		// TODO Auto-generated method stub
		
	}

	@Override
	public void configInterceptor(Interceptors arg0) {
		arg0.add(new SessionInViewInterceptor());
		
	}

	@Override
	public void configPlugin(Plugins arg0) {
		
		C3p0Plugin c3p0Plugin = new C3p0Plugin(getProperty("jdbcUrl"),
				getProperty("user"), getProperty("password"));
		arg0.add(c3p0Plugin);
		ActiveRecordPlugin arp = new ActiveRecordPlugin("mes",c3p0Plugin);
		arg0.add(arp);
		arp.addMapping("user", "id",User.class);//用户数据库连接
		arp.addMapping("dept", "dept_id",Department.class);//部门数据库连接
		arp.addMapping("role","role_id", Role.class);    //角色数据库连接
		arp.addMapping("dept", Login.class);
		arp.setShowSql(true);
		ZsjglMapping.mapping(arp);     //主数据管理
		CkglMapping.mapping(arp);     //仓库管理
		XtglMapping.mapping(arp);      //系统管理
		XtglMapping.mapping(arp);		//系统管理
		ZlglMapping.mapping(arp); 		//质量管理
		//YtglMapping.mapping(arp);		//预投需求管理
		CgglMapping.mapping(arp);       //采购管理
		ScddglMapping.mapping(arp);       //生产调度管理
		CgglMapping.mapping(arp);       //采购管理
		
		ScddglMapping.mapping(arp);       //生产调度管理

		
	}

	@Override
	public void configRoute(Routes arg0) {
		arg0.add("/", TestController.class);
		arg0.add("/login",Logincontroller.class);
		arg0.add("/act", ActController.class);
		arg0.add("/user", TestController.class);
		arg0.add("/users", UserController.class);//用户管理
		arg0.add(new ZsjglConfig());   //主数据管理
		arg0.add(new CkglConfig());   //仓库管理
		arg0.add(new XtglRoute());    //系统管理
		arg0.add(new ZlglConfig());		//质量管理
		//arg0.add(new YtglConfig());		//预投需求管理
		arg0.add(new CgglConfig());     //采购计划管理
		arg0.add(new ScddglConfig());   //生产调度管理
		arg0.add(new ScddglConfig());   //生产调度管理

	}
}
